iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
自我挑戰組

Git 與 GitHub 入門日誌系列 第 24

Day 24:GitHub Actions 入門

  • 分享至 

  • xImage
  •  

到目前為止,我們的 GitHub Pages 網站已經能自動部署。
但這一切的背後,其實是由 GitHub Actions 幫我們完成的自動化流程!

今天我要更深入了解它是怎麼運作,並嘗試自己建立一個簡單的自動化 workflow。


GitHub Action

GitHub Actions 是一個可以讓你在 GitHub 上自動執行任務的系統,
例如:
自動測試程式碼、自動部署網站(例如 GitHub Pages)、
自動格式化程式碼、發布版本(Release)。
它的核心概念是「Workflow(工作流程)」,
你只要寫好一個 .yml 檔,它就會在指定的事件(如 push、pull request)觸發時自動執行。
換句話說,它就像一個自動幫你執行任務的小助理 🤖。

而這些任務都寫在一個特殊的檔案中:

.github/workflows/xxxx.yml

什麼是 workflow?

Workflow 是一個放在 .github/workflows/ 資料夾裡的 YAML 檔(例如:main.yml)。
裡面寫著:

  • 什麼時候執行(例如 push、pull request)
  • 執行在哪個環境(例如 Ubuntu)
  • 要跑哪些步驟(例如 build、test、deploy)

簡單來說,
Workflow = 自動化的操作指令。


YAML 是什麼?

.yml 是一種設定檔語法格式(YAML)。
常見特點:

  • 用縮排(空格)表示階層關係。
  • 沒有括號,也沒有分號。
  • 通常用來描述「設定」而不是「程式邏輯」。

例如:

name: 測試範例
on: push
jobs:
  build:
    steps:
      - run: echo "Hello"

觀察 Pages 的自動化流程

打開 GitHub → 點上方的 「Actions」 分頁。
可以看到每次我們 push 檔案時,都會觸發一個
「 pages build and deployment 」,
這就是 GitHub Pages 的自動化流程。
https://ithelp.ithome.com.tw/upload/images/20251005/20169195Q2V1HoPtwN.png

意思就是,當我們每次push的時候,
它會自動:

  • 檢查我最新的 commit
  • 建構(build)靜態網站(也就是會自動更新GitHub Pages)
  • 發布到 GitHub Pages

我發現這樣自己完全不用手動部署,真的超級方便XDD


新增一個簡單 workflow

如果想多做一個「測試自動化」的工作流程,
我們也可以在 GitHub Actions 裡新增一個 workflow。

步驟 1:建立新 workflow
點「Actions」→ 左上角按「New workflow」。
點「set up a workflow yourself」。
https://ithelp.ithome.com.tw/upload/images/20251005/20169195Mm0DyVKn3F.png

步驟 2:撰寫內容
接下來我們就可以在.yml裡面,寫下我們想要在觸發時自動執行的內容。
https://ithelp.ithome.com.tw/upload/images/20251005/20169195mkimMxVCrv.png

https://ithelp.ithome.com.tw/upload/images/20251005/20169195OVj3dzGtu9.png

上圖內容包含註解,可供各位邦友們參考參考!

步驟 3:提交檔案
點右上角的 Commit Changes。
https://ithelp.ithome.com.tw/upload/images/20251005/201691954zKCwb8xDx.png

步驟 4:查看執行結果
回到「Actions」頁面,幾秒後你會看到:
Run simple test ,
裡面如果有看到你剛剛新增的.yml檔,且有綠色勾勾,
就表示 workflow 執行成功!
https://ithelp.ithome.com.tw/upload/images/20251005/20169195W1k9OnOilo.png


相信很多邦友和我有相同的疑問,
雖然照著步驟自己建立了workflow,
但還是不知道建立這個要幹嘛XDDD

所以為什麼要「自己新增 workflow」?

Workflow(工作流程) 是 GitHub Actions 的核心,
它告訴 GitHub「在什麼時候要自動執行什麼事情」。

當你第一次開啟 GitHub Actions 時,系統會讓你:
選擇一個現成模板(例如「Node.js build」、「Python test」),
或者自己新增 workflow 檔案。

而選擇「自己新增」的好處是:

  • 你可以從最簡單的例子開始(例如印出文字)
  • 完全了解每一行的意義(因為是自己寫的)
  • 後面可以根據需要修改成自己的自動化流程(例如自動上傳網站、跑測試)。

模板可能會有限制,因此許多人喜歡自己新建workflow,
這樣就可以完全按照自己的思路去執行。


今天我第一次看懂 GitHub Actions 背後的結構。
原來我之前的 Pages 自動部署,就是一個完整的 workflow。
這讓我更理解了:
「每一次自動化背後,其實都是程式與設定檔的合作。」


上一篇
Day 23:GitHub Pages 進階 - CSS
系列文
Git 與 GitHub 入門日誌24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言